﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using quinielonModel;
using System.Data.Objects;
using System.Collections;
using DataSetTableAdapters;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //Obtiene los partidos

        quinielonEntities db = new quinielonEntities();

        var tableAdapter = new GET_QUINIELA_ACTIVA_TODOSTableAdapter();
        var resultado = tableAdapter.GetData();

        if (resultado.Count==0)
        {
            Session["Error"] = "No hay chiquinielas para rellenar. Podrías crear una nueva, no?";
            Response.Redirect("nuevaError.aspx", true);
        }
        else
        {
            var usuarios = db.usuario.ToList();
            labFecha.Text = resultado.FirstOrDefault().fecha.ToShortDateString();
            labJornada.Text = resultado.FirstOrDefault().jornada.ToString();

            dibujarTabla(usuarios, resultado);
        }
        db.Dispose();


    }

    private void dibujarTabla(List<usuario> usuarios, DataSet.GET_QUINIELA_ACTIVA_TODOSDataTable resultado)
    {
        
        Image img = new Image();

        //Cabecera de la tabla
        var fila = new TableRow();
        var cell = new TableCell();
        cell.Text = "Nº";
        cell.Style.Value = "padding-right: 10px;";
        fila.Cells.Add(cell);
        cell = new TableCell();
        cell.Text = "Local";
        fila.Cells.Add(cell);
        cell = new TableCell();
        cell.Text = "Visitante";
        fila.Cells.Add(cell);
        usuarios = usuarios.OrderByDescending(x => Int64.Parse(x.id_fb)).ToList();

        //Saca las fotos de facebook
        foreach (var u in usuarios)
        {
            cell = new TableCell();
            img = new Image();
            cell.ColumnSpan = 3;
            img.ImageUrl = "http://graph.facebook.com/"+u.id_fb+"/picture";
            img.AlternateText = "user photo";
            img.Height = 50;
            img.Width = 50;
            cell.Style.Value = "padding-right: 3px;";
            cell.Controls.Add(img);
            fila.Cells.Add(cell);
        }
        cell = new TableCell();
        cell.Text = "Resultado";
        fila.Cells.Add(cell);
        fila.Style.Value = "text-align: center; font-weight: bold;";
        Table1.Rows.Add(fila);

        foreach (var r in resultado)
        {
            string resultadoPartido = "";
            fila = new TableRow();
            cell = new TableCell();
            cell.Text = r.n_partido.ToString();
            cell.Style.Value = "text-align: center;";
            fila.Cells.Add(cell);
            cell = new TableCell();
            cell.Text = r.e_local;
            cell.Style.Value = "padding-right: 3px;";
            fila.Cells.Add(cell);
            cell = new TableCell();
            cell.Text = r.e_visitante;
            cell.Style.Value = "padding-right: 2px;";
            fila.Cells.Add(cell);
            for(int i=1; i<=usuarios.Count; i++)
            {
                img = new Image();
                cell = new TableCell();
                cell.ID = i.ToString()+"_1";
                img.ImageUrl = "pics/p_1.png";
                img.Height = 20;
                img.Width = 14;
                cell.Controls.Add(img);
                fila.Cells.Add(cell);
                img = new Image();
                cell = new TableCell();
                cell.ID = i.ToString() + "_X";
                img.ImageUrl = "pics/p_x.png";
                img.Height = 20;
                img.Width = 14;
                cell.Controls.Add(img);
                fila.Cells.Add(cell);
                img = new Image();
                cell = new TableCell();
                cell.Style.Value = "padding-right: 3px;";
                cell.ID = i.ToString() + "_2";
                img.ImageUrl = "pics/p_2.png";
                img.Height = 20;
                img.Width = 14;
                cell.Controls.Add(img);
                fila.Cells.Add(cell);
            }

            cell = new TableCell();

            if (r.resultado != null)
                if (r.resultado.Equals("3"))
                    resultadoPartido = "X";
                else
                    resultadoPartido = r.resultado;
            cell.Text = resultadoPartido;
            cell.Style.Value = "text-align: center; font-weight: bold;";
            fila.Cells.Add(cell);
            Table1.Rows.Add(fila);

            pintarPronosticos(fila, r);


        }
    }

    private static void pintarPronosticos(TableRow fila, DataSet.GET_QUINIELA_ACTIVA_TODOSRow r)
    {
        var table = new Hashtable();
        table.Add(8, r.DAVID);
        table.Add(3, r.FELIPE);
        table.Add(1, r.JOSE);
        table.Add(7, r.CHINO);
        table.Add(5, r.ANTONIO);
        table.Add(6, r.NIETO);
        table.Add(4, r.JESUS);
        table.Add(2, r.LUIS);

        int pronostico;
        int celdaCambiar;
        for (int i=1, indiceEnFila=3; i<=table.Count; i++, indiceEnFila=indiceEnFila+3)
        {
            if (table[i] != null)
            {
                pronostico = int.Parse(table[i].ToString());
                switch (pronostico)
                {
                    case 1: celdaCambiar = indiceEnFila;
                        break;
                    case 2: celdaCambiar = indiceEnFila + 2;
                        break;
                    case 3: celdaCambiar = indiceEnFila + 1;
                        break;
                    default: celdaCambiar = indiceEnFila;
                        break;
                }
                var imageCambiar = (Image)fila.Cells[celdaCambiar].Controls[0];
                imageCambiar.ImageUrl = "pics/p_xx.png";
            }
           
            
        }

    }

}